package com.dragon.modules.yuegou.entity.order;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.order.PrintType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 订单打印实体类<br>
 * 对应的表为：ord_print<br>
 * 
 * @author pbuilder generated
 * @date 2020-06-03 13:42:08
 * @company sgy
 * @version 2.0
 */
@TableName("ord_print")
@ApiModel(description = "订单打印")
public class PrintEntity {

    /** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

    /** 商户id */
	@ApiModelProperty("商户id")
	protected String merchantId;

    /** [枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY */
	@ApiModelProperty("[枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY")
	protected PrintType type;

    /** 是否打印 0 未打印 1 打印 */
	@ApiModelProperty("是否打印 0 未打印 1 打印")
	protected Boolean printStatus;

    /** 最后打印时间 */
	@ApiModelProperty("最后打印时间")
	protected LocalDateTime lastPrintTime;

	/**
	 * 构造一个空订单打印实体对象
	 */
	public PrintEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个订单打印实体对象
	 * 
	 * @param other 其它对象
	 */
	public PrintEntity(PrintEntity other){
		super();
     	this.orderNo = other.orderNo;
     	this.merchantId = other.merchantId;
     	this.type = other.type;
     	this.printStatus = other.printStatus;
     	this.lastPrintTime = other.lastPrintTime;
	}


	/**
	 * 获取订单号
	 * 
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置订单号
	 * 
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取商户id
	 * 
	 * @return merchantId 商户id
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户id
	 * 
	 * @param merchantId 商户id
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取[枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY
	 * 
	 * @return type [枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY
	 */
	public PrintType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY
	 * 
	 * @param type [枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY
	 */
	public void setType(PrintType type) {
		this.type = type;
	}

	/**
	 * 获取是否打印 0 未打印 1 打印
	 * 
	 * @return printStatus 是否打印 0 未打印 1 打印
	 */
	public Boolean getPrintStatus() {
		return printStatus;
	}
  	
	/**
	 * 设置是否打印 0 未打印 1 打印
	 * 
	 * @param printStatus 是否打印 0 未打印 1 打印
	 */
	public void setPrintStatus(Boolean printStatus) {
		this.printStatus = printStatus;
	}

	/**
	 * 获取最后打印时间
	 * 
	 * @return lastPrintTime 最后打印时间
	 */
	public LocalDateTime getLastPrintTime() {
		return lastPrintTime;
	}
  	
	/**
	 * 设置最后打印时间
	 * 
	 * @param lastPrintTime 最后打印时间
	 */
	public void setLastPrintTime(LocalDateTime lastPrintTime) {
		this.lastPrintTime = lastPrintTime;
	}

    public String toString() {
		return new StringBuilder().append("PrintEntity{").
			append("orderNo=").append(orderNo).
			append(",merchantId=").append(merchantId).
			append(",type=").append(type).
			append(",printStatus=").append(printStatus).
			append(",lastPrintTime=").append(lastPrintTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public PrintEntity copy() {
		return new PrintEntity(this);
	}

    /** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** 商户id */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** [枚举]订单类型：0-到家订单-GOHOME、1-聚合支付订单-AGGREPAY */
	public static final String COL_TYPE = "type";

    /** 是否打印 0 未打印 1 打印 */
	public static final String COL_PRINT_STATUS = "print_status";

    /** 最后打印时间 */
	public static final String COL_LAST_PRINT_TIME = "last_print_time";
}
